The coding technique of Generalized Interval Transformations (GIT's) is based on generalizations of inversion frequency algorithms. GIT's operate on blocks of data and convert data to sequences of geometrically distributed integer numbers. These integer numbers may be further compressed to produce smaller bit streams.
A GIT may be a partial or a full GIT. In a partial GIT, symbols of a string are represented in an alphabet. The alphabet is split to produce non-empty sub-alphabets, where the symbol set of one sub-alphabet is unique and does not overlap with symbol sets of the other remaining sub-alphabets. From the original string and the alphabets, integer number sequences are produced for each sub-alphabet relative to the original string being compressed. Finally, a last sequence is produced that combines or ties the other sequences into a single sequence.
A full GIT uses different splits and different algorithms to further compress sequences that may be generated from a partial GIT. Iterations of a full GIT may reduce a final integer number sequence for the string being compressed into a sequence of numbers with respect to a single symbol included within the original string.
GIT's rely on a natural order of the alphabets from which they depend. Thus, GIT compression does not alter alphabetic orders.